Today, the concept of a “home” and some “small business” networks are limited to the physical network on which the PCs are connected. Peer-to-peer (P2P) systems have gained widespread popularity and emerged as one of the major sources of the Internet traffic. P2P networks enable client machines to communicate directly with each other, without the need for a hosted infrastructure or dedicated servers. P2P networking offers several advantages, related at least in part to easy setup, efficient data transfer, and network resilience. While initially conceived and popularized for the purpose of file sharing, P2P has now emerged as a general paradigm for the construction of resilient, large-scale, distributed services and applications in the Internet.
Conventionally, some operating systems provide network solutions that enable hosts to join a private named P2P “overlay” network. Nodes can identify the overlay networks by name, and automatically locate other active participants within the overlay. Within these overlay networks, active nodes can create and self-organize communication paths, enabling resilient communication and low-latency data transfer. For example, overlay networks can provide a variety of services, including messaging and database replication, for communication among active nodes.
Unfortunately, the conventional P2P overlay network concepts have several limitations. The network is only available to applications that specifically program to the overlay network APIs (meaning that the overlay cannot be used for general network communication). Additionally, it is difficult for multiple applications to share the same overlay network, and users have no direct standard way of configuring and managing overlay networks.
Seamless virtual networking is a well-established concept of which two examples in common use include virtual private networks (VPNs) and virtual local area networks (VLANs). Users configure and launch VPNs (whether over IPSec, PPTP, L2TP/IPSec, etc.) that establish a point-to-point (client-server) connection over a public network (e.g., the Internet) or some other physical media. The VPN is exposed as a virtual network interface that effectively hides the point-to-point “overlay” connection, and rather, exposes seamless IP routability between the VPN client, VPN server, and networks exposed by the VPN server. VLANs illustrate another example of seamless virtual networking. In a VLAN, network switches aggregate a collection of physical links into a logical subnet by specially tagging (e.g., IEEE 802.1q) Ethernet frames. Hosts on a VLAN form a single broadcast domain where network switches take responsibility for forwarding packets as needed to create the virtual subnet semantics for the client hosts. However, these and other conventional networks fail, in part, to provide efficient and seamless connectivity between peer nodes on private and public networks.